﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using Google.ProtocolBuffers;
using Google.ProtocolBuffers.Collections;
using Google.ProtocolBuffers.Descriptors;
using Google.ProtocolBuffers.FieldAccess;

namespace com.gexin.rp.sdk.dto
{
	// Token: 0x02000009 RID: 9
	[DebuggerNonUserCode]
	public sealed class ReqServListResult : GeneratedMessage<ReqServListResult, ReqServListResult.Builder>
	{
		// Token: 0x06000072 RID: 114 RVA: 0x00002E7A File Offset: 0x0000107A
		private ReqServListResult()
		{
		}

		// Token: 0x17000031 RID: 49
		// (get) Token: 0x06000073 RID: 115 RVA: 0x00002E9F File Offset: 0x0000109F
		public static ReqServListResult DefaultInstance
		{
			get
			{
				return ReqServListResult.defaultInstance;
			}
		}

		// Token: 0x17000032 RID: 50
		// (get) Token: 0x06000074 RID: 116 RVA: 0x00002EA6 File Offset: 0x000010A6
		public override ReqServListResult DefaultInstanceForType
		{
			get
			{
				return ReqServListResult.DefaultInstance;
			}
		}

		// Token: 0x17000033 RID: 51
		// (get) Token: 0x06000075 RID: 117 RVA: 0x00002579 File Offset: 0x00000779
		protected override ReqServListResult ThisMessage
		{
			get
			{
				return this;
			}
		}

		// Token: 0x17000034 RID: 52
		// (get) Token: 0x06000076 RID: 118 RVA: 0x00002EAD File Offset: 0x000010AD
		public static MessageDescriptor Descriptor
		{
			get
			{
				return GtReq.internal__static_com_gexin_rp_sdk_dto_ReqServListResult__Descriptor;
			}
		}

		// Token: 0x17000035 RID: 53
		// (get) Token: 0x06000077 RID: 119 RVA: 0x00002EB4 File Offset: 0x000010B4
		protected override FieldAccessorTable<ReqServListResult, ReqServListResult.Builder> InternalFieldAccessors
		{
			get
			{
				return GtReq.internal__static_com_gexin_rp_sdk_dto_ReqServListResult__FieldAccessorTable;
			}
		}

		// Token: 0x17000036 RID: 54
		// (get) Token: 0x06000078 RID: 120 RVA: 0x00002EBB File Offset: 0x000010BB
		public bool HasCode
		{
			get
			{
				return this.hasCode;
			}
		}

		// Token: 0x17000037 RID: 55
		// (get) Token: 0x06000079 RID: 121 RVA: 0x00002EC3 File Offset: 0x000010C3
		public int Code
		{
			get
			{
				return this.code_;
			}
		}

		// Token: 0x17000038 RID: 56
		// (get) Token: 0x0600007A RID: 122 RVA: 0x00002ECB File Offset: 0x000010CB
		public IList<string> HostList
		{
			get
			{
				return Lists.AsReadOnly<string>(this.host_);
			}
		}

		// Token: 0x17000039 RID: 57
		// (get) Token: 0x0600007B RID: 123 RVA: 0x00002ED8 File Offset: 0x000010D8
		public int HostCount
		{
			get
			{
				return this.host_.Count;
			}
		}

		// Token: 0x0600007C RID: 124 RVA: 0x00002EE5 File Offset: 0x000010E5
		public string GetHost(int index)
		{
			return this.host_[index];
		}

		// Token: 0x1700003A RID: 58
		// (get) Token: 0x0600007D RID: 125 RVA: 0x00002EF3 File Offset: 0x000010F3
		public bool HasSeqId
		{
			get
			{
				return this.hasSeqId;
			}
		}

		// Token: 0x1700003B RID: 59
		// (get) Token: 0x0600007E RID: 126 RVA: 0x00002EFB File Offset: 0x000010FB
		public string SeqId
		{
			get
			{
				return this.seqId_;
			}
		}

		// Token: 0x1700003C RID: 60
		// (get) Token: 0x0600007F RID: 127 RVA: 0x00002F03 File Offset: 0x00001103
		public override bool IsInitialized
		{
			get
			{
				return this.hasCode;
			}
		}

		// Token: 0x06000080 RID: 128 RVA: 0x00002F10 File Offset: 0x00001110
		public override void WriteTo(ICodedOutputStream output)
		{
			this.CalcSerializedSize();
			string[] reqServListResultFieldNames = ReqServListResult._reqServListResultFieldNames;
			if (this.hasCode)
			{
				output.WriteInt32(1, reqServListResultFieldNames[0], this.Code);
			}
			if (this.host_.Count > 0)
			{
				output.WriteStringArray(2, reqServListResultFieldNames[1], this.host_);
			}
			if (this.hasSeqId)
			{
				output.WriteString(3, reqServListResultFieldNames[2], this.SeqId);
			}
			this.UnknownFields.WriteTo(output);
		}

		// Token: 0x1700003D RID: 61
		// (get) Token: 0x06000081 RID: 129 RVA: 0x00002F84 File Offset: 0x00001184
		public override int SerializedSize
		{
			get
			{
				int num = this.memoizedSerializedSize;
				if (num != -1)
				{
					return num;
				}
				return this.CalcSerializedSize();
			}
		}

		// Token: 0x06000082 RID: 130 RVA: 0x00002FA4 File Offset: 0x000011A4
		private int CalcSerializedSize()
		{
			int num = this.memoizedSerializedSize;
			if (num != -1)
			{
				return num;
			}
			num = 0;
			if (this.hasCode)
			{
				num += CodedOutputStream.ComputeInt32Size(1, this.Code);
			}
			int num2 = 0;
			foreach (string value in this.HostList)
			{
				num2 += CodedOutputStream.ComputeStringSizeNoTag(value);
			}
			num += num2;
			num += 1 * this.host_.Count;
			if (this.hasSeqId)
			{
				num += CodedOutputStream.ComputeStringSize(3, this.SeqId);
			}
			num += this.UnknownFields.SerializedSize;
			this.memoizedSerializedSize = num;
			return num;
		}

		// Token: 0x06000083 RID: 131 RVA: 0x0000305C File Offset: 0x0000125C
		public static ReqServListResult ParseFrom(ByteString data)
		{
			return ReqServListResult.CreateBuilder().MergeFrom(data).BuildParsed();
		}

		// Token: 0x06000084 RID: 132 RVA: 0x0000306E File Offset: 0x0000126E
		public static ReqServListResult ParseFrom(ByteString data, ExtensionRegistry extensionRegistry)
		{
			return ReqServListResult.CreateBuilder().MergeFrom(data, extensionRegistry).BuildParsed();
		}

		// Token: 0x06000085 RID: 133 RVA: 0x00003081 File Offset: 0x00001281
		public static ReqServListResult ParseFrom(byte[] data)
		{
			return ReqServListResult.CreateBuilder().MergeFrom(data).BuildParsed();
		}

		// Token: 0x06000086 RID: 134 RVA: 0x00003093 File Offset: 0x00001293
		public static ReqServListResult ParseFrom(byte[] data, ExtensionRegistry extensionRegistry)
		{
			return ReqServListResult.CreateBuilder().MergeFrom(data, extensionRegistry).BuildParsed();
		}

		// Token: 0x06000087 RID: 135 RVA: 0x000030A6 File Offset: 0x000012A6
		public static ReqServListResult ParseFrom(Stream input)
		{
			return ReqServListResult.CreateBuilder().MergeFrom(input).BuildParsed();
		}

		// Token: 0x06000088 RID: 136 RVA: 0x000030B8 File Offset: 0x000012B8
		public static ReqServListResult ParseFrom(Stream input, ExtensionRegistry extensionRegistry)
		{
			return ReqServListResult.CreateBuilder().MergeFrom(input, extensionRegistry).BuildParsed();
		}

		// Token: 0x06000089 RID: 137 RVA: 0x000030CB File Offset: 0x000012CB
		public static ReqServListResult ParseDelimitedFrom(Stream input)
		{
			return ReqServListResult.CreateBuilder().MergeDelimitedFrom(input).BuildParsed();
		}

		// Token: 0x0600008A RID: 138 RVA: 0x000030DD File Offset: 0x000012DD
		public static ReqServListResult ParseDelimitedFrom(Stream input, ExtensionRegistry extensionRegistry)
		{
			return ReqServListResult.CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
		}

		// Token: 0x0600008B RID: 139 RVA: 0x000030F0 File Offset: 0x000012F0
		public static ReqServListResult ParseFrom(ICodedInputStream input)
		{
			return ReqServListResult.CreateBuilder().MergeFrom(input).BuildParsed();
		}

		// Token: 0x0600008C RID: 140 RVA: 0x00003102 File Offset: 0x00001302
		public static ReqServListResult ParseFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
		{
			return ReqServListResult.CreateBuilder().MergeFrom(input, extensionRegistry).BuildParsed();
		}

		// Token: 0x0600008D RID: 141 RVA: 0x00003115 File Offset: 0x00001315
		private ReqServListResult MakeReadOnly()
		{
			this.host_.MakeReadOnly();
			return this;
		}

		// Token: 0x0600008E RID: 142 RVA: 0x00003123 File Offset: 0x00001323
		public static ReqServListResult.Builder CreateBuilder()
		{
			return new ReqServListResult.Builder();
		}

		// Token: 0x0600008F RID: 143 RVA: 0x0000312A File Offset: 0x0000132A
		public override ReqServListResult.Builder ToBuilder()
		{
			return ReqServListResult.CreateBuilder(this);
		}

		// Token: 0x06000090 RID: 144 RVA: 0x00003123 File Offset: 0x00001323
		public override ReqServListResult.Builder CreateBuilderForType()
		{
			return new ReqServListResult.Builder();
		}

		// Token: 0x06000091 RID: 145 RVA: 0x00003132 File Offset: 0x00001332
		public static ReqServListResult.Builder CreateBuilder(ReqServListResult prototype)
		{
			return new ReqServListResult.Builder(prototype);
		}

		// Token: 0x06000092 RID: 146 RVA: 0x0000313C File Offset: 0x0000133C
		static ReqServListResult()
		{
			FileDescriptor descriptor = GtReq.Descriptor;
		}

		// Token: 0x04000082 RID: 130
		private static readonly ReqServListResult defaultInstance = new ReqServListResult().MakeReadOnly();

		// Token: 0x04000083 RID: 131
		private static readonly string[] _reqServListResultFieldNames = new string[]
		{
			"code",
			"host",
			"seqId"
		};

		// Token: 0x04000084 RID: 132
		private static readonly uint[] _reqServListResultFieldTags = new uint[]
		{
			8u,
			18u,
			26u
		};

		// Token: 0x04000085 RID: 133
		public const int CodeFieldNumber = 1;

		// Token: 0x04000086 RID: 134
		private bool hasCode;

		// Token: 0x04000087 RID: 135
		private int code_;

		// Token: 0x04000088 RID: 136
		public const int HostFieldNumber = 2;

		// Token: 0x04000089 RID: 137
		private PopsicleList<string> host_ = new PopsicleList<string>();

		// Token: 0x0400008A RID: 138
		public const int SeqIdFieldNumber = 3;

		// Token: 0x0400008B RID: 139
		private bool hasSeqId;

		// Token: 0x0400008C RID: 140
		private string seqId_ = "";

		// Token: 0x0400008D RID: 141
		private int memoizedSerializedSize = -1;

		// Token: 0x02000053 RID: 83
		[DebuggerNonUserCode]
		public static class Types
		{
			// Token: 0x0200007E RID: 126
			public enum ReqServHostResultCode
			{
				// Token: 0x04000388 RID: 904
				successed,
				// Token: 0x04000389 RID: 905
				failed,
				// Token: 0x0400038A RID: 906
				busy
			}
		}

		// Token: 0x02000054 RID: 84
		[DebuggerNonUserCode]
		public sealed class Builder : GeneratedBuilder<ReqServListResult, ReqServListResult.Builder>
		{
			// Token: 0x17000290 RID: 656
			// (get) Token: 0x06000618 RID: 1560 RVA: 0x00002579 File Offset: 0x00000779
			protected override ReqServListResult.Builder ThisBuilder
			{
				get
				{
					return this;
				}
			}

			// Token: 0x06000619 RID: 1561 RVA: 0x0000E8F8 File Offset: 0x0000CAF8
			public Builder()
			{
				this.result = ReqServListResult.DefaultInstance;
				this.resultIsReadOnly = true;
			}

			// Token: 0x0600061A RID: 1562 RVA: 0x0000E912 File Offset: 0x0000CB12
			internal Builder(ReqServListResult cloneFrom)
			{
				this.result = cloneFrom;
				this.resultIsReadOnly = true;
			}

			// Token: 0x0600061B RID: 1563 RVA: 0x0000E928 File Offset: 0x0000CB28
			private ReqServListResult PrepareBuilder()
			{
				if (this.resultIsReadOnly)
				{
					ReqServListResult other = this.result;
					this.result = new ReqServListResult();
					this.resultIsReadOnly = false;
					this.MergeFrom(other);
				}
				return this.result;
			}

			// Token: 0x17000291 RID: 657
			// (get) Token: 0x0600061C RID: 1564 RVA: 0x0000E964 File Offset: 0x0000CB64
			public override bool IsInitialized
			{
				get
				{
					return this.result.IsInitialized;
				}
			}

			// Token: 0x17000292 RID: 658
			// (get) Token: 0x0600061D RID: 1565 RVA: 0x0000E971 File Offset: 0x0000CB71
			protected override ReqServListResult MessageBeingBuilt
			{
				get
				{
					return this.PrepareBuilder();
				}
			}

			// Token: 0x0600061E RID: 1566 RVA: 0x0000E979 File Offset: 0x0000CB79
			public override ReqServListResult.Builder Clear()
			{
				this.result = ReqServListResult.DefaultInstance;
				this.resultIsReadOnly = true;
				return this;
			}

			// Token: 0x0600061F RID: 1567 RVA: 0x0000E98E File Offset: 0x0000CB8E
			public override ReqServListResult.Builder Clone()
			{
				if (this.resultIsReadOnly)
				{
					return new ReqServListResult.Builder(this.result);
				}
				return new ReqServListResult.Builder().MergeFrom(this.result);
			}

			// Token: 0x17000293 RID: 659
			// (get) Token: 0x06000620 RID: 1568 RVA: 0x0000E9B4 File Offset: 0x0000CBB4
			public override MessageDescriptor DescriptorForType
			{
				get
				{
					return ReqServListResult.Descriptor;
				}
			}

			// Token: 0x17000294 RID: 660
			// (get) Token: 0x06000621 RID: 1569 RVA: 0x00002EA6 File Offset: 0x000010A6
			public override ReqServListResult DefaultInstanceForType
			{
				get
				{
					return ReqServListResult.DefaultInstance;
				}
			}

			// Token: 0x06000622 RID: 1570 RVA: 0x0000E9BB File Offset: 0x0000CBBB
			public override ReqServListResult BuildPartial()
			{
				if (this.resultIsReadOnly)
				{
					return this.result;
				}
				this.resultIsReadOnly = true;
				return this.result.MakeReadOnly();
			}

			// Token: 0x06000623 RID: 1571 RVA: 0x0000E9DE File Offset: 0x0000CBDE
			public override ReqServListResult.Builder MergeFrom(IMessage other)
			{
				if (other is ReqServListResult)
				{
					return this.MergeFrom((ReqServListResult)other);
				}
				base.MergeFrom(other);
				return this;
			}

			// Token: 0x06000624 RID: 1572 RVA: 0x0000EA00 File Offset: 0x0000CC00
			public override ReqServListResult.Builder MergeFrom(ReqServListResult other)
			{
				if (other == ReqServListResult.DefaultInstance)
				{
					return this;
				}
				this.PrepareBuilder();
				if (other.HasCode)
				{
					this.Code = other.Code;
				}
				if (other.host_.Count != 0)
				{
					this.result.host_.Add(other.host_);
				}
				if (other.HasSeqId)
				{
					this.SeqId = other.SeqId;
				}
				this.MergeUnknownFields(other.UnknownFields);
				return this;
			}

			// Token: 0x06000625 RID: 1573 RVA: 0x0000EA77 File Offset: 0x0000CC77
			public override ReqServListResult.Builder MergeFrom(ICodedInputStream input)
			{
				return this.MergeFrom(input, ExtensionRegistry.Empty);
			}

			// Token: 0x06000626 RID: 1574 RVA: 0x0000EA88 File Offset: 0x0000CC88
			public override ReqServListResult.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
			{
				this.PrepareBuilder();
				UnknownFieldSet.Builder builder = null;
				uint num;
				string text;
				while (input.ReadTag(out num, out text))
				{
					if (num == 0u && text != null)
					{
						int num2 = Array.BinarySearch<string>(ReqServListResult._reqServListResultFieldNames, text, StringComparer.Ordinal);
						if (num2 < 0)
						{
							if (builder == null)
							{
								builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
							}
							this.ParseUnknownField(input, builder, extensionRegistry, num, text);
							continue;
						}
						num = ReqServListResult._reqServListResultFieldTags[num2];
					}
					if (num <= 8u)
					{
						if (num == 0u)
						{
							throw InvalidProtocolBufferException.InvalidTag();
						}
						if (num == 8u)
						{
							this.result.hasCode = input.ReadInt32(ref this.result.code_);
							continue;
						}
					}
					else
					{
						if (num == 18u)
						{
							input.ReadStringArray(num, text, this.result.host_);
							continue;
						}
						if (num == 26u)
						{
							this.result.hasSeqId = input.ReadString(ref this.result.seqId_);
							continue;
						}
					}
					if (WireFormat.IsEndGroupTag(num))
					{
						if (builder != null)
						{
							this.UnknownFields = builder.Build();
						}
						return this;
					}
					if (builder == null)
					{
						builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
					}
					this.ParseUnknownField(input, builder, extensionRegistry, num, text);
				}
				if (builder != null)
				{
					this.UnknownFields = builder.Build();
				}
				return this;
			}

			// Token: 0x17000295 RID: 661
			// (get) Token: 0x06000627 RID: 1575 RVA: 0x0000EBAB File Offset: 0x0000CDAB
			public bool HasCode
			{
				get
				{
					return this.result.hasCode;
				}
			}

			// Token: 0x17000296 RID: 662
			// (get) Token: 0x06000628 RID: 1576 RVA: 0x0000EBB8 File Offset: 0x0000CDB8
			// (set) Token: 0x06000629 RID: 1577 RVA: 0x0000EBC5 File Offset: 0x0000CDC5
			public int Code
			{
				get
				{
					return this.result.Code;
				}
				set
				{
					this.SetCode(value);
				}
			}

			// Token: 0x0600062A RID: 1578 RVA: 0x0000EBCF File Offset: 0x0000CDCF
			public ReqServListResult.Builder SetCode(int value)
			{
				this.PrepareBuilder();
				this.result.hasCode = true;
				this.result.code_ = value;
				return this;
			}

			// Token: 0x0600062B RID: 1579 RVA: 0x0000EBF1 File Offset: 0x0000CDF1
			public ReqServListResult.Builder ClearCode()
			{
				this.PrepareBuilder();
				this.result.hasCode = false;
				this.result.code_ = 0;
				return this;
			}

			// Token: 0x17000297 RID: 663
			// (get) Token: 0x0600062C RID: 1580 RVA: 0x0000EC13 File Offset: 0x0000CE13
			public IPopsicleList<string> HostList
			{
				get
				{
					return this.PrepareBuilder().host_;
				}
			}

			// Token: 0x17000298 RID: 664
			// (get) Token: 0x0600062D RID: 1581 RVA: 0x0000EC20 File Offset: 0x0000CE20
			public int HostCount
			{
				get
				{
					return this.result.HostCount;
				}
			}

			// Token: 0x0600062E RID: 1582 RVA: 0x0000EC2D File Offset: 0x0000CE2D
			public string GetHost(int index)
			{
				return this.result.GetHost(index);
			}

			// Token: 0x0600062F RID: 1583 RVA: 0x0000EC3B File Offset: 0x0000CE3B
			public ReqServListResult.Builder SetHost(int index, string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.host_[index] = value;
				return this;
			}

			// Token: 0x06000630 RID: 1584 RVA: 0x0000EC62 File Offset: 0x0000CE62
			public ReqServListResult.Builder AddHost(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.host_.Add(value);
				return this;
			}

			// Token: 0x06000631 RID: 1585 RVA: 0x0000EC88 File Offset: 0x0000CE88
			public ReqServListResult.Builder AddRangeHost(IEnumerable<string> values)
			{
				this.PrepareBuilder();
				this.result.host_.Add(values);
				return this;
			}

			// Token: 0x06000632 RID: 1586 RVA: 0x0000ECA3 File Offset: 0x0000CEA3
			public ReqServListResult.Builder ClearHost()
			{
				this.PrepareBuilder();
				this.result.host_.Clear();
				return this;
			}

			// Token: 0x17000299 RID: 665
			// (get) Token: 0x06000633 RID: 1587 RVA: 0x0000ECBD File Offset: 0x0000CEBD
			public bool HasSeqId
			{
				get
				{
					return this.result.hasSeqId;
				}
			}

			// Token: 0x1700029A RID: 666
			// (get) Token: 0x06000634 RID: 1588 RVA: 0x0000ECCA File Offset: 0x0000CECA
			// (set) Token: 0x06000635 RID: 1589 RVA: 0x0000ECD7 File Offset: 0x0000CED7
			public string SeqId
			{
				get
				{
					return this.result.SeqId;
				}
				set
				{
					this.SetSeqId(value);
				}
			}

			// Token: 0x06000636 RID: 1590 RVA: 0x0000ECE1 File Offset: 0x0000CEE1
			public ReqServListResult.Builder SetSeqId(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasSeqId = true;
				this.result.seqId_ = value;
				return this;
			}

			// Token: 0x06000637 RID: 1591 RVA: 0x0000ED0E File Offset: 0x0000CF0E
			public ReqServListResult.Builder ClearSeqId()
			{
				this.PrepareBuilder();
				this.result.hasSeqId = false;
				this.result.seqId_ = "";
				return this;
			}

			// Token: 0x04000341 RID: 833
			private bool resultIsReadOnly;

			// Token: 0x04000342 RID: 834
			private ReqServListResult result;
		}
	}
}
